62cd2f
@@ -4146,11 +4146,11 @@
public boolean revokePrivileges(PrivilegeBag privileges)
     try {
       openTransaction();
       LOG.debug("Executing listPrincipalDBGrants");
-      Query query = pm.newQuery(MDBPrivilege.class,
-          "principalName == t1 && principalType == t2 && database.name == t3");
-      query
-          .declareParameters("java.lang.String t1, java.lang.String t2, java.lang.String t3");
-      mSecurityDBList = (List<MDBPrivilege>) query.executeWithArray(principalName, principalType.toString(), dbName);
+        Query query = pm.newQuery(MDBPrivilege.class,
+            "principalName == t1 && principalType == t2 && database.name == t3");
+        query
+            .declareParameters("java.lang.String t1, java.lang.String t2, java.lang.String t3");
+        mSecurityDBList = (List<MDBPrivilege>) query.executeWithArray(principalName, principalType.toString(), dbName);
       LOG.debug("Done executing query for listPrincipalDBGrants");
       pm.retrieveAll(mSecurityDBList);
       success = commitTransaction();
@@ -4199,11 +4199,16 @@
public boolean revokePrivileges(PrivilegeBag privileges)
     try {
       openTransaction();
       LOG.debug("Executing listPrincipalAllDBGrant");
-      Query query = pm.newQuery(MDBPrivilege.class,
-          "principalName == t1 && principalType == t2");
-      query
-          .declareParameters("java.lang.String t1, java.lang.String t2");
-      mSecurityDBList = (List<MDBPrivilege>) query.execute(principalName, principalType.toString());
+      if (principalName != null && principalType != null) {
+        Query query = pm.newQuery(MDBPrivilege.class,
+            "principalName == t1 && principalType == t2");
+        query
+            .declareParameters("java.lang.String t1, java.lang.String t2");
+        mSecurityDBList = (List<MDBPrivilege>) query.execute(principalName, principalType.toString());
+      } else {
+        Query query = pm.newQuery(MDBPrivilege.class);
+        mSecurityDBList = (List<MDBPrivilege>) query.execute();
+      }
       LOG.debug("Done executing query for listPrincipalAllDBGrant");
       pm.retrieveAll(mSecurityDBList);
       success = commitTransaction();
@@ -4604,11 +4609,17 @@
private void dropPartitionGrantsNoTxn(String dbName, String tableName, List<Stri
     try {
       openTransaction();
       LOG.debug("Executing listPrincipalPartitionColumnGrantsAll");
-      Query query = pm.newQuery(MPartitionColumnPrivilege.class,
-          "principalName == t1 && principalType == t2");
-      query.declareParameters("java.lang.String t1, java.lang.String t2");
-      List<MPartitionColumnPrivilege> mSecurityTabPartList = (List<MPartitionColumnPrivilege>)
-          query.executeWithArray(principalName, principalType.toString());
+      List<MPartitionColumnPrivilege> mSecurityTabPartList;
+      if (principalName != null && principalType != null) {
+        Query query = pm.newQuery(MPartitionColumnPrivilege.class,
+            "principalName == t1 && principalType == t2");
+        query.declareParameters("java.lang.String t1, java.lang.String t2");
+        mSecurityTabPartList = (List<MPartitionColumnPrivilege>)
+            query.executeWithArray(principalName, principalType.toString());
+      } else {
+        Query query = pm.newQuery(MPartitionColumnPrivilege.class);
+        mSecurityTabPartList = (List<MPartitionColumnPrivilege>) query.execute();
+      }
       LOG.debug("Done executing query for listPrincipalPartitionColumnGrantsAll");
       pm.retrieveAll(mSecurityTabPartList);
       List<HiveObjectPrivilege> result = convertPartCols(mSecurityTabPartList);
@@ -4703,11 +4714,17 @@
private void dropPartitionGrantsNoTxn(String dbName, String tableName, List<Stri
     try {
       openTransaction();
       LOG.debug("Executing listPrincipalAllTableGrants");
-      Query query = pm.newQuery(MTablePrivilege.class,
-          "principalName == t1 && principalType == t2");
-      query.declareParameters("java.lang.String t1, java.lang.String t2");
-      List<MTablePrivilege> mSecurityTabPartList = (List<MTablePrivilege>) query.execute(
-          principalName, principalType.toString());
+      List<MTablePrivilege> mSecurityTabPartList;
+      if (principalName != null && principalType != null) {
+        Query query = pm.newQuery(MTablePrivilege.class,
+            "principalName == t1 && principalType == t2");
+        query.declareParameters("java.lang.String t1, java.lang.String t2");
+        mSecurityTabPartList = (List<MTablePrivilege>) query.execute(
+            principalName, principalType.toString());
+      } else {
+        Query query = pm.newQuery(MTablePrivilege.class);
+        mSecurityTabPartList = (List<MTablePrivilege>) query.execute();
+      }
       LOG.debug("Done executing query for listPrincipalAllTableGrants");
       pm.retrieveAll(mSecurityTabPartList);
       List<HiveObjectPrivilege> result = convertTable(mSecurityTabPartList);
@@ -4798,11 +4815,17 @@
private void dropPartitionGrantsNoTxn(String dbName, String tableName, List<Stri
     try {
       openTransaction();
       LOG.debug("Executing listPrincipalPartitionGrantsAll");
-      Query query = pm.newQuery(MPartitionPrivilege.class,
-          "principalName == t1 && principalType == t2");
-      query.declareParameters("java.lang.String t1, java.lang.String t2");
-      List<MPartitionPrivilege> mSecurityTabPartList = (List<MPartitionPrivilege>)
-          query.execute(principalName, principalType.toString());
+      List<MPartitionPrivilege> mSecurityTabPartList;
+      if (principalName != null && principalType != null) {
+        Query query = pm.newQuery(MPartitionPrivilege.class,
+            "principalName == t1 && principalType == t2");
+        query.declareParameters("java.lang.String t1, java.lang.String t2");
+        mSecurityTabPartList = (List<MPartitionPrivilege>)
+            query.execute(principalName, principalType.toString());
+      } else {
+        Query query = pm.newQuery(MPartitionPrivilege.class);
+        mSecurityTabPartList = (List<MPartitionPrivilege>) query.execute();
+      }
       LOG.debug("Done executing query for listPrincipalPartitionGrantsAll");
       pm.retrieveAll(mSecurityTabPartList);
       List<HiveObjectPrivilege> result = convertPartition(mSecurityTabPartList);
@@ -4895,11 +4918,18 @@
private void dropPartitionGrantsNoTxn(String dbName, String tableName, List<Stri
     try {
       openTransaction();
       LOG.debug("Executing listPrincipalTableColumnGrantsAll");
-      Query query = pm.newQuery(MTableColumnPrivilege.class,
-          "principalName == t1 && principalType == t2");
-      query.declareParameters("java.lang.String t1, java.lang.String t2");
-      List<MTableColumnPrivilege> mSecurityTabPartList = (List<MTableColumnPrivilege>)
-          query.execute(principalName, principalType.toString());
+
+      List<MTableColumnPrivilege> mSecurityTabPartList;
+      if (principalName != null && principalType != null) {
+        Query query = pm.newQuery(MTableColumnPrivilege.class,
+            "principalName == t1 && principalType == t2");
+        query.declareParameters("java.lang.String t1, java.lang.String t2");
+        mSecurityTabPartList = (List<MTableColumnPrivilege>)
+            query.execute(principalName, principalType.toString());
+      } else {
+        Query query = pm.newQuery(MTableColumnPrivilege.class);
+        mSecurityTabPartList = (List<MTableColumnPrivilege>) query.execute();
+      }
       LOG.debug("Done executing query for listPrincipalTableColumnGrantsAll");
       pm.retrieveAll(mSecurityTabPartList);
       List<HiveObjectPrivilege> result = convertTableCols(mSecurityTabPartList);
